Computational Thinking,
Software Development & Computer Systems

Chapters 1, 2 & 3 — complete notes with definitions, analogies, memory tricks, diagrams, flashcards and a quiz to help you ace the exam.

🧠 Chapter 1 — Computational Thinking & Algorithms

The mental toolkit of every computer scientist. This chapter is on EVERY paper.

1

🏛️ The Four Pillars of Computational Thinking

Computational thinking is a method of studying a problem and formulating a solution that can be implemented using a computer. It has four pillars — you MUST be able to define all four.

A-D-P-A — Abstraction, Decomposition, Pattern Recognition, Algorithmic Thinking. Remember: "A Dog Plays Around"

🎭
1. Abstraction

Reducing complexity by hiding unnecessary detail and focusing only on the relevant features of a problem.

A London Tube map is an abstraction — it shows stations and lines but ignores actual geography, distances, and tunnels. It has only what you need!

Example: Modelling traffic — ignore car colour and driver age, focus on number of cars and speed.

✂️
2. Decomposition

Breaking down a large complex problem into smaller, more manageable sub-problems that can each be solved separately.

Building a house is decomposed into: foundations, walls, roof, plumbing, electricity, painting. Each team tackles their part!

Example: Building a website → header, navigation, content area, footer — each done separately.

🔍
3. Pattern Recognition

Identifying similarities, trends, or repetitions among problems or within data to help solve more complex problems.

Like recognising that every morning you do: wake up → shower → eat → leave. Once you spot the pattern, you can automate or optimise it!

Example: Noticing that two different problems both need a sorted list — reuse the same sorting solution.

📋
4. Algorithmic Thinking

A way of getting to a solution through clear, ordered, step-by-step instructions that can be implemented by a computer.

A recipe is an algorithm — it lists exact steps in order to produce a specific result. Skip a step and the dish fails!

Example: A login algorithm: 1. Get username & password. 2. Check database. 3. If match → grant access. 4. Else → show error.

These four definitions appear on almost every exam. Learn the definitions word-for-word and have a real-world example ready for each one.

📋 Algorithms — What Makes a Good One?

An algorithm is a finite, ordered set of clear instructions that solves a specific problem. It must have an input, a process, and an output.

Characteristics of a Good Algorithm

CharacteristicWhat it meansExample
FiniteMust eventually stop — no infinite loopsA recipe has a final step
Well-definedClear inputs and outputs"Sort a list of numbers" — input = list, output = sorted list
UnambiguousNo step should be open to interpretation"Add a pinch of salt" is bad; "Add 2g of salt" is better
EffectiveEach step can actually be carried outNo impossible or undefined steps
Language-independentCan be written in any programming languageBubble sort works in Python, Java, C…

🗺️ Flowchart Symbols — You Must Know These!

Start/End Input/Output Process Decision Connector/ Flow Arrow Oval Parallelogram Rectangle Diamond Arrow

Standard flowchart symbols — appear in almost every exam!

Heuristics

A heuristic is a "rule of thumb" — a practical approach that finds a good-enough solution quickly when finding the perfect solution would take too long.

When you're late and can't find the perfect route, you just take the road you usually use — that's a heuristic! "Good enough, fast enough."

Examples: spam filters (score suspicious words), navigation apps (choose a fast enough route without testing every possible road), anti-virus software (flag files that look suspicious).

DEB 2023 asked directly: "What is a heuristic?" Know the definition and one example.

📊 Trace Tables — Step by Step

A trace table records the value of each variable after every line of code executes. Used to manually check what a program does.

A trace table is like a detective's evidence log — you write down what each clue (variable) reveals at each moment in time, step by step.

How to complete a trace table:

  1. 1
    Write a column for each variable and one for the line number.
  2. 2
    Start at line 1. Update ONLY the variable that changes on that line.
  3. 3
    For loops: repeat the row each time the loop runs.
  4. 4
    For IF statements: only follow the branch that applies to the current values.
  5. 5
    Write the final output at the end.

Example Trace Table — Counting Loop

LineitotalOutput
1—0—
2 (i=1)11—
2 (i=2)23—
2 (i=3)36—
3——6

Trace tables appear on every exam. Practice going slowly — one cell at a time. The 2022 paper had an ISBN check digit; DEB 2023 had a while-loop. Never rush!

📈 Algorithmic Complexity — Big O Notation

Big O notation measures the relationship between the size of the input (N) and the number of steps an algorithm takes. It is about amount of work, NOT speed.

Big O is like asking "how much messier does my room get if I buy more stuff?" — O(1) means it never gets worse, O(n²) means it gets much, much worse very quickly!

O(1)
Constant
Same time no matter how big the input. Example: looking up an item by index in a list.
O(log n)
Logarithmic
Gets slower very slowly. Example: Binary Search — halves the problem each step.
O(n)
Linear
Doubles when input doubles. Example: Linear Search — check each item one by one.
O(n²)
Quadratic
Gets very slow for large inputs. Example: Bubble, Selection, Insertion Sort — two nested loops.

Best to worst: O(1) → O(log n) → O(n) → O(n²)
Think: "Constant is King, Quadratic is Quit using it!"

Know which Big O applies to: Linear Search = O(n), Binary Search = O(log n), Bubble/Selection/Insertion Sort = O(n²).

🔎 Search Algorithms

Linear Search — go through each item in the list one by one, comparing it to the target. Return the index if found, -1 if not found.

Like looking for your keys by checking every pocket one at a time — tedious but always works!

ProsCons
✅ List does NOT need to be sorted❌ Slow — O(n) time complexity
✅ Simple to code❌ Gets very slow for large lists

Binary Search — requires a SORTED list. Look at the middle element: if target is smaller, search left half; if larger, search right half. Keep halving until found.

Like finding a name in a phone book — open the middle, decide which half to look in, then repeat. Much faster than reading every page!

  1. 1
    Find the middle element of the list.
  2. 2
    If middle = target → found! Stop.
  3. 3
    If target < middle → search left half.
  4. 4
    If target > middle → search right half.
  5. 5
    Repeat until found or list is empty.
ProsCons
✅ Very fast — O(log n)❌ Data MUST be sorted first
✅ Efficient for large datasets❌ Sorting adds its own time cost

Binary = Bisect = Better! Always halves the problem. Must be Sorted — think "Sorted = Super fast Binary"

🔀 Sorting Algorithms — All O(n²)

All three sorting algorithms you need to know have O(n²) time complexity — they use two nested loops. Click the buttons below to see each sort in action!

Ready — press a sort button!

Bubble Sort — compare adjacent pairs; if in wrong order, swap them. After each full pass, the largest value "bubbles up" to the end. Repeat until no swaps needed.

Like bubbles rising in water — the biggest bubble (largest number) always floats to the top first, then the next biggest, and so on.

  1. 1
    Compare elements [0] and [1]. If [0] > [1], swap them.
  2. 2
    Move to [1] and [2]. Compare and swap if needed.
  3. 3
    Continue to end of list. After pass 1, largest is in last position.
  4. 4
    Repeat for remaining unsorted elements.
  5. 5
    Optimisation: if a pass has 0 swaps, the list is sorted — stop early!

🫧 Big bubbles rise first! Think of it as: "the big numbers bubble up to the top after each pass."

Selection Sort — find the smallest value in the unsorted part of the list and place it at the start. Repeat for the remaining unsorted section.

Like choosing cards from a hand — always grab the smallest card first and put it down in order. Then grab the next smallest, etc.

  1. 1
    Find the minimum value in the entire unsorted list.
  2. 2
    Swap it with the first element of the unsorted portion.
  3. 3
    Move the "sorted boundary" one position to the right.
  4. 4
    Repeat from step 1 on the remaining unsorted section.

🎯 "Selection = Smallest first" — always selecting the minimum to slot in next.

Insertion Sort — treat the list as a sorted and unsorted part. Take the next unsorted element and insert it into its correct position in the sorted part by comparing backwards.

Like sorting playing cards in your hand — you pick up a new card and slide it into the right position among the cards you're already holding.

  1. 1
    Start with element at index 1 (element at index 0 is already "sorted").
  2. 2
    Compare with the element to its left. If smaller, shift the left element right.
  3. 3
    Keep comparing leftwards until the correct position is found.
  4. 4
    Insert the element in the correct position.
  5. 5
    Move to the next unsorted element and repeat.

📌 "Insertion = Insert into the right place" — like inserting a card into a sorted hand.

You will be asked to trace a sort step by step, show each pass, or compare sorts. Remember: all three are O(n²) — inefficient for large datasets. Binary sort (O(n log n)) exists but isn't in the LC syllabus as a sort to trace.

🧩 Exam Puzzles — Applying Computational Thinking

These puzzle types have appeared on past papers. Apply decomposition + pattern recognition + algorithmic thinking to solve them.

A Caesar Cipher shifts every letter in the alphabet by a fixed number n (the key). To decode: shift each letter backwards by n, wrapping around using modulo.

Decode formula: Decoded = (letter_position − n) mod 26

Imagine the alphabet as a circle (A after Z). Shift right to encode, shift left to decode. If you shift A back 3, you go Z, Y, X — modulo handles the wrap-around.

🔐 Caesar said "Shift it!" — encode = shift forward n, decode = shift back n. Modulo = handles the wrap-around at Z→A.

The Pigpen cipher uses a key diagram made of grid segments and X-grid segments. Each letter is represented by the shape of the segment it sits in.

To decode: look at the shape of each symbol and find the matching segment in the key grid. No numbers, no maths — pure pattern recognition!

🐷 Pigpen = Pattern recognition — the shape of the cage tells you the letter!

The Manhattan Tourist Problem asks: moving only south or east through a grid, what is the path that maximises the number of attractions visited?

Method (Dynamic Programming): Fill in a grid from top-left to bottom-right. Each cell = max(value from above + attraction weight, value from left + attraction weight).

🗺️ You can only go South or East — never back! Work top-left to bottom-right, always picking the greediest path.

🛠️ Chapter 2 — Software Development & Design

SDLC, methodologies (Waterfall vs Agile), testing types, UCD, and accessibility.

2

💾 Types of Software

Software is the set of instructions or programs that tell a computer what to do. It is independent of hardware and makes computers programmable.

TypeWhat it doesExamples
System SoftwareManages hardware and core functionsWindows, macOS, Linux (Operating Systems)
Programming SoftwareTools for developers to write codeVS Code, compilers, debuggers, linkers
Application SoftwareHelps users perform specific tasksWord, Chrome, Spotify, Instagram, games

S-P-A = System → Programming → Application. Think: "Servers, Programmers, Apps"

🔄 The Software Development Life Cycle (SDLC)

The SDLC is a structured, repeatable process for designing, developing, and maintaining software. It ensures quality and reduces costly mistakes.

Building a house has stages: plan → design → build → inspect → move in → maintain. You wouldn't start building walls before the architect draws the plans! Software is the same.

1. Analysis Requirements 2. Planning Timeline/Team 3. Design UI/Architecture 4. Develop Write Code 5. Testing Find & Fix Bugs 6. Maintenance Deploy & Update Feedback loop — iterate and improve

The Software Development Life Cycle (SDLC)

2023 paper asked you to name 2 reasons the SDLC is important. Answer: (1) Structured process reduces costly mistakes. (2) Clarifies roles, milestones and deadlines.

A-P-D-D-T-M = Analysis, Planning, Design, Develop, Testing, Maintenance. "Amazing Programmers Design Dope, Tested Masterpieces"

⚙️ Waterfall vs Agile — Development Methodologies

Two approaches to how you ORGANISE the SDLC stages. This comparison is asked on almost every paper!

🌊 Waterfall (Staged)

Sequential — each stage must be fully complete before the next starts. Like a waterfall, the flow only goes downward.

✅ Clear milestones and deadlines
✅ No financial surprises
✅ Good documentation
✅ Easy to manage fixed-scope projects
❌ Very inflexible to change
❌ Client has little input during development
❌ If an issue found late, must restart
❌ Long time before client sees anything

Best for: well-understood, fixed requirements (banking systems, defence, building control systems).

🔄 Agile (Iterative)

Iterative — work in short cycles called sprints (1–4 weeks). Get user feedback after each sprint and adjust. All SDLC phases happen repeatedly.

✅ Very flexible — requirements can change
✅ Client is involved throughout
✅ Working product delivered early
✅ Quick feedback catches issues fast
❌ Hard to pin down final cost or date
❌ Documentation can be lacking
❌ Client must stay engaged throughout
❌ Can keep changing if client is unsure

Best for: modern web/app development with evolving requirements. Frameworks: Scrum, Kanban, XP (Extreme Programming).

🌊 Waterfall = one direction, no going back. 🔄 Agile = spin around, keep improving. DEB 2024 asked you to compare them and recommend one — always pick Agile for modern software with changing requirements!

DEB 2024: "Compare Waterfall and Agile and recommend one for developing a new school app." Answer: Agile — school requirements may change; user testing improves the product; faster delivery of working features.

🧪 Software Testing

Testing shows a program does what it's supposed to do and finds bugs before release.

Test TypeWhat it testsWho does it
Unit TestingSmallest unit of code (one function/method) in isolationDeveloper
System TestingThe whole integrated system working togetherTesting team
Functional Testing"Does it do what it's supposed to?" — tests against requirementsQA team
Alpha TestingInternal testing before public release — developer/in-house teamInternal team
Beta TestingReal users testing in a real environment before full launchExternal users
Black Box TestingWhite Box Testing
Tester does NOT see the codeTester CAN see the internal code
Only tests inputs and outputsTests specific code paths and branches
Tests against requirementsTests implementation quality
Done by independent testersDone by developers
📦 You see the box from outside only🔍 You see what's inside the box

Black box: testing a vending machine — you put money in and press buttons, you don't care HOW it works inside, just that you get the right snack. White box: testing the internal circuits of the vending machine — you check every wire and mechanism.

⬛ Black = can't see code (blind). ⬜ White = can see everything (transparent).

Functional testing: "Does it DO what it's meant to?" — tests specific features against requirements (e.g. does login work? Does it calculate the total correctly?).

Non-functional testing: "HOW WELL does it do it?" — tests performance, usability, security, reliability, scalability.

Functional: Does the car start? Does it brake? Non-functional: How fast does it accelerate? How comfortable is it? How safe is it in a crash?

Types of Errors

Error TypeWhat is it?ExampleWhen found?
Syntax ErrorCode violates the grammar of the languageMissing colon in Python, wrong bracketBefore running (compile time)
Runtime ErrorCode runs but crashes during executionDivide by zero, index out of rangeWhile running
Logic ErrorCode runs and finishes but produces wrong resultWrong formula, wrong condition in if statementDuring testing

S-R-L = Syntax crashes before run, Runtime crashes during run, Logic is secretly wrong. "Stupid Rules Love breaking code!"

Test Cases — Good Practice

A test case specifies: an input, the expected output, and what is being tested. Good test cases include: normal/typical values, boundary/edge values, and invalid/extreme values.

Test Case TypeDescriptionExample (sorting a list)
NormalA typical valid input[5, 2, 8, 1, 3]
Boundary/EdgeAt the extreme limitsEmpty list [], single element [5]
Already sortedBest case for some algorithms[1, 2, 3, 4, 5]
Reverse sortedWorst case for most sorts[5, 4, 3, 2, 1]
DuplicatesTests handling of identical values[3, 3, 1, 3, 2]

2022 paper asked for test cases for insertion sort. Always mention: empty list, single element, already sorted, reverse sorted, duplicates!

👤 User-Centred Design (UCD) & Accessibility

User-Centred Design (UCD) is a design philosophy where the needs, abilities, and limitations of end-users are the primary focus at every stage of development.

A good restaurant designs its menu for the customer — large text, clear descriptions, pictures — not for what's easiest for the chef to write!

The 7 Principles of Universal Design

2024 paper asked you to apply 2 principles to a fast-food kiosk. Know all 7!

#PrincipleWhat it means
1Equitable UseUseful to people with different abilities (e.g. ramps for wheelchair users)
2Flexibility in UseAccommodates different preferences (e.g. left/right-handed scissors)
3Simple & IntuitiveEasy to understand regardless of experience (e.g. clear icons)
4Perceptible InformationCommunicates necessary info effectively (e.g. audio + visual cues)
5Tolerance for ErrorMinimises hazards and errors (e.g. undo button, confirmation dialogs)
6Low Physical EffortCan be used comfortably with minimal fatigue (e.g. door handles not knobs)
7Size & SpaceAppropriate space for all users regardless of body size (e.g. wide ATM screens)

E-F-S-P-T-L-S = "Every Fish Swims Past The Lake Shore" → Equitable, Flexible, Simple, Perceptible, Tolerance, Low effort, Size

User Interface (UI) Types

UI TypeDescriptionExample
GUIWindows, icons, menus, pointerWindows, macOS desktop
CLICommand line — type text commandsTerminal, Command Prompt
Menu-drivenNavigate through options menusATM, kiosks, DVD menus
Voice/NLUSpeak to interactSiri, Alexa, Google Assistant
Touch/GestureSwipe, tap, pinchSmartphones, tablets

Assistive Technologies

For users with disabilities, these technologies make software accessible:

👥 Roles in Software Development

RoleWhat they do
Business AnalystGathers requirements from stakeholders; bridges business & development teams; writes user stories
Software DeveloperWrites the code for the application
UX/UI DesignerDesigns how the interface looks and feels; focuses on user experience
QA TesterTests the software to find and report bugs
Project ManagerOversees timeline, budget, and team coordination
DevOps EngineerManages deployment, automation, and infrastructure

2023 paper asked you to describe the role of a Business Analyst. Know: gathering & documenting requirements, writing user stories, mediating between business and developers, validating features.

Web App vs Mobile App

Web ApplicationMobile Application
Works on any device with a browserInstalled on the device
Easier and cheaper to updateCan use device features (camera, GPS, push notifications)
No app-store submission neededCan work offline
Depends on internet connectionOften faster and smoother experience

🖥️ Chapter 3 — Computer Systems

Von Neumann, CPU, memory, logic gates, binary, ASCII & Unicode. High-frequency exam topics!

3

🏗️ Von Neumann Architecture

Von Neumann Architecture is the shared blueprint for nearly all modern computers, described by John von Neumann in 1945. It has four key components: CPU, Memory, Input/Output, and a Bus.

All houses look different on the outside but share the same rooms: bedroom, kitchen, bathroom. Similarly, all computers look different but share the same core architecture!

Central Processing Unit Control Unit (CU) Arithmetic / Logic Unit (ALU) Registers PC CIR AC MAR MDR Memory (RAM / ROM) Data Bus Input keyboard, mouse… Output monitor, printer…

Von Neumann Architecture — the universal blueprint of all computers

C-M-I-B = CPU, Memory, I/O, Bus — "Computers Must Input Bytes"

⚙️ CPU Components & Registers

The Control Unit directs the operations of the CPU. It fetches, decodes, and coordinates instructions. It does NOT do calculations itself.

The CU is the manager of the CPU — gives orders but doesn't do the actual work. It's the boss!

The ALU performs all arithmetic operations (+, -, *, /) and all logical comparisons (AND, OR, NOT, >, <, ==).

The ALU is the calculator and decision-maker of the CPU. It does maths and makes yes/no decisions.

Registers are tiny, ultra-fast storage locations inside the CPU. They store data currently being processed.

A register is like a sticky note right in front of you — tiny but instantly accessible. RAM is like a filing cabinet in the next room.

RegisterFull NameWhat it stores
PCProgram CounterAddress of the next instruction to fetch
CIRCurrent Instruction RegisterThe instruction currently being decoded/executed
ACAccumulatorThe result of the last ALU operation
MARMemory Address RegisterThe memory address being accessed
MDRMemory Data RegisterData being transferred to/from memory

"People Can Always Make Clever Inventions"
→ PC, CIR, AC, MAR, MDR (MDR = More Data Remembered)

The clock generates electrical pulses. Each pulse = one fetch-execute cycle. Measured in GHz (gigahertz — billion cycles per second).

The clock is like a metronome — the faster it beats, the more notes (instructions) can be played per second.

Factors affecting CPU performance:

  1. Clock speed (GHz) — higher = more cycles per second
  2. Number of cores — more cores = more tasks simultaneously
  3. Cache size — larger cache = less slow RAM access needed
  4. Word size (64-bit vs 32-bit) — wider word = more data per cycle

2023 paper asked for two factors that affect CPU performance. Common answers: clock speed + number of cores. Or clock speed + cache size.

The Fetch–Decode–Execute Cycle

1. FETCH CU gets next instruction from memory (PC → MAR) 2. DECODE CU interprets the instruction stored in CIR 3. EXECUTE ALU or CU carries out the instruction, result in AC PC increments → repeat for next instruction

The Fetch–Decode–Execute Cycle — the heartbeat of every computer

2023 paper asked you to label a FDE cycle diagram. Know: FETCH = CU gets instruction from memory using PC → MAR. DECODE = CU interprets CIR. EXECUTE = ALU performs operation, result in Accumulator.

🧠 Memory Hierarchy

Memory comes in different types — faster memory is smaller and more expensive. This is the memory hierarchy:

Registers (inside CPU) — fastest & tiniest
Cache Memory — very fast, small
RAM (Main Memory) — moderate speed
Secondary Storage (HDD/SSD) — slowest, largest

Fastest → Slowest: R-C-R-S = Registers, Cache, RAM, Secondary. "Really Clever Rabbits Sprint" 🐇

RAM vs ROM

FeatureRAMROM
Full nameRandom Access MemoryRead Only Memory
Volatile?✅ Yes (lost when power off)❌ No (keeps data forever)
Can write to it?✅ Yes (constantly)❌ No (read only)
Written by?Programs you runThe manufacturer
Used for?Currently running programsBIOS/firmware (startup)

RAM = your desk. You work on it during the day, but when you go home (power off), it's cleared. ROM = a printed instruction manual — always there, can't be rewritten.

RAM = Temporarily Accessible, ROM = Permanently Written
RAM = "Really Always Missing" when power off. ROM = "Remains On Machine" forever.

Cache Memory

Cache memory is a small, very fast memory built into or near the CPU. It stores copies of frequently used data and instructions from RAM so the CPU can access them without waiting for slower main memory.

The cache is like keeping your most used books on your desk instead of in the library — you can grab them instantly without walking anywhere!

HDD vs SSD

FeatureHDD (Hard Disk Drive)SSD (Solid State Drive)
How it worksSpinning magnetic disks & read/write headFlash memory chips (no moving parts)
SpeedSlowerMuch faster
DurabilityFragile (moving parts)More durable
Cost per GBCheaperMore expensive
NoiseMakes noise (spinning)Silent

Data Units

UnitSizeMemory trick
Bit1 binary digit (0 or 1)Smallest unit
Nibble4 bitsHalf a byte = "nibble" of a byte!
Byte8 bits1 character in ASCII
Kilobyte (KB)1,024 bytesA short text file
Megabyte (MB)1,024 KB = 1,048,576 bytesA photo
Gigabyte (GB)1,024 MBA movie
Megabit (Mb)1,048,576 bitsUsed in internet speeds (Mbps)

DEB 2024 asked: "How many bits in a nibble? In a megabyte? In a megabit?" Nibble = 4 bits. Megabyte = 8,388,608 bits. Megabit = 1,048,576 bits. Note: megabit (lowercase b) ≠ megabyte (uppercase B)!

💻 Binary, Decimal & Hexadecimal

Computers use binary (base 2) because transistors have two states: on (1) and off (0). Binary maps perfectly to physical electrical signals.

Interactive Converter

🔢 Number Converter

CONVERSION RESULT
Type a number above to convert between decimal, binary, and hex!

Decimal → Binary: Place Value Method

Place values for an 8-bit binary number:

2⁷2⁶2⁵2⁴2³2²2¹2⁰
1286432168421
  1. 1
    Find the largest place value ≤ your number. Put a 1 there.
  2. 2
    Subtract that place value from your number.
  3. 3
    Repeat step 1 & 2 with the remainder.
  4. 4
    Put a 0 in any unused place values.

Example: 149 = 128+16+4+1 = 10010101

Binary → Decimal

Multiply each bit by its place value and add up all the 1s. Example: 10010101 = 128+16+4+1 = 149

Hexadecimal (Base 16)

Hexadecimal is a base-16 number system using digits 0–9 and letters A–F (A=10, B=11, C=12, D=13, E=14, F=15). It's used as shorthand for binary because every byte = exactly 2 hex digits.

Hexadecimal is like a shorthand for binary. Writing FF is much easier than 11111111. This is why colour codes (#FF5733), memory addresses, and other computer data use hex!

DecimalBinaryHex
0–90000–10010–9
101010A
111011B
121100C
131101D
141110E
151111F

After 9 comes A! Remember: A B C D E F = 10 11 12 13 14 15. "Awesome Bits Create Digits Exceeding Fifteen"

2023 paper: Convert C9₁₆ to decimal. C=12, 9=9. (12×16) + (9×1) = 192+9 = 201. Hex colour: #0A33F0 = Red=0A=10, Green=33=51, Blue=F0=240.

➕ Binary Addition & Overflow

ABSumCarry
0000
0110
1010
1101 (carry!)

1+1 in binary = "10" (one zero), just like in decimal when 9+1=10 — you carry 1 into the next column!

Overflow occurs when the result of a binary addition is too large to store in the available number of bits — a carry out of the highest bit position is generated.

Overflow is like trying to fit 10 eggs into a box that only holds 8 — two eggs fall out (the extra bits are lost)!

If adding two 8-bit numbers produces a 9th bit (carry out of bit 7), that's an overflow error. Most CPUs use 64-bit word size today to avoid this for typical numbers.

🔤 ASCII & Unicode Character Encoding

FeatureASCIIUnicode (UTF-8/UTF-16)
Bits used7-bit (128 chars) or 8-bit (256 chars)Variable: 8–32 bits per character
CharactersOnly English/Latin alphabet140,000+ chars from all world scripts
LanguagesEnglish onlyAll languages including Chinese, Arabic, emoji!
MemoryVery compactUses more memory but globally compatible
CompatibilityFirst 128 chars of Unicode are the sameBackwards compatible with ASCII

ASCII is like a small local library — great for English books, but doesn't have books in Japanese, Arabic, or emoji. Unicode is like the world's biggest library — every book in every language!

ASCII = American Standard → only American/English characters. Unicode = Universal code → every language on Earth!

2025 paper: Compare ASCII vs Unicode for memory and compatibility. Key points: ASCII uses less memory (7/8 bits vs up to 32), but Unicode supports all world languages and is globally compatible. First 128 characters are the same in both.

⚡ Logic Gates

A logic gate is an electronic device that takes binary inputs and produces a binary output based on a logical rule. They are the building blocks of all digital circuits.

Logic gates are like smart light switches — they only turn on (output 1) when specific combinations of inputs are correct.

AND Gate
Output is 1 ONLY if ALL inputs are 1
ABA AND B
000
010
100
111

AND = "Both must be true"

OR Gate
Output is 1 if ANY input is 1
ABA OR B
000
011
101
111

OR = "Either will do"

NOT Gate
Inverts the input (flipper/inverter)
ANOT A
01
10

NOT = "Opposite" always

NAND Gate
Opposite of AND (0 ONLY when all inputs are 1)
ABA NAND B
001
011
101
110

NAND = NOT-AND = flip AND's output

NOR Gate
Opposite of OR (1 ONLY when all inputs are 0)
ABA NOR B
001
010
100
110

NOR = NOT-OR = flip OR's output

XOR Gate
Output 1 ONLY if inputs are DIFFERENT
ABA XOR B
000
011
101
110

XOR = "EXclusive OR" = different inputs only

You must be able to: (1) Complete a truth table for a logic expression. (2) Draw a logic circuit from a Boolean expression. (3) Explain what a Full Adder does. Always work inside-out for complex expressions: evaluate brackets first!

Full Adder — a circuit that adds three 1-bit inputs (A, B, Carry-in) to produce a Sum and Carry-out. Built using XOR, AND, and OR gates. Multiple full adders chained together can add multi-bit numbers.

Electronic Components

ComponentWhat it doesAnalogy
TransistorActs as a switch (0 or 1) or amplifier. Billions in a CPU.A light switch: ON or OFF
ResistorLimits and controls current flowA speed bump — slows electricity down
CapacitorStores electrical charge temporarily; smooths power supplyA tiny rechargeable battery

🖥️ Operating Systems

An Operating System (OS) manages hardware resources and provides services for programs. Examples: Windows, macOS, Linux, Android, iOS.

Key Functions of an OS:

FunctionWhat it does
Resource ManagementAllocates CPU time, RAM, I/O devices, and network bandwidth between competing processes
File ManagementOrganises files into directories, controls permissions, handles storage and retrieval
User InterfaceProvides GUI or CLI for users to interact with the computer
SecurityControls access, manages login, runs firewall

Virtual Memory — when RAM is full, the OS moves inactive data to a reserved area of secondary storage (page file/swap space). Allows more programs to run than physical RAM alone. Much slower than real RAM.

Virtual memory is like using a USB stick as extra desk space when your real desk is full — it works, but accessing it is much slower than the desk itself!

2023 paper asked you to define virtual memory and give pros/cons of cloud working. Virtual memory = OS uses secondary storage as extra RAM when RAM is full.

🃏 Flashcards

Click a card to reveal the answer. Use the filters to focus on one chapter.

?
Chapter 1

Loading...

Tap to reveal answer ↻

1 / 1

🎯 Quick Quiz

Test your knowledge across all three chapters. Answer each question, then move on!